#include<sys/mman.h>
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>

int main(){
	void * addr;
	int fd;
	//打开文件，供mmap函数使用
	fd = open("test", O_RDWR);
	if(fd < 0){
		perror("open");
		return 0;
	}

	//mmap创建共享内存
	addr = mmap(NULL, 2048, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
	if(addr == MAP_FAILED){
		perror("mmap");
		return 0;
	}

	//mmap创建成功后，就可以把文件关闭了。不影响mmap的使用
	close(fd);

	//每隔1秒从共享内存读数据
	while(1){
		printf("read=%s\n", (char *)(addr));
		sleep(1);
	}

}
